﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAO;
using Entidades;

namespace ProyectoCine.AreaPrivada
{
    public partial class AltaPelicula : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!Page.IsPostBack)
            {
                ddlGenero.DataSource = PeliculaDAO.cargarComboGenero();
                ddlGenero.DataTextField = "nombre";
                ddlGenero.DataValueField = "id_Genero";                
                ddlGenero.DataBind();
                ddlGenero.Items.Insert(0, new ListItem("Todos los Generos"));
                if (Session["id_PeliculaEdicion"] != null)
                {
                    Pelicula p = PeliculaDAO.buscarPorId((int)Session["id_PeliculaEdicion"]);
                    lblId.Visible = true;
                    lblIdPelicula.Text = p.Id_Pelicula.ToString();
                    txtNombre.Text = p.Nombre;
                    ddlGenero.SelectedIndex= p.Genero;
                    ddlClasificacion.SelectedValue = p.Clasificacion;
                    txtDirector.Text = p.Director;
                    txtInterpretes.Text = p.Interpretes;
                    txtSipnosis.Text = p.Sipnosis;
                    txtPaisOrigen.Text = p.PaisOrigen;
                    txtAñoEstreno.Text = p.AñoEstreno.Year.ToString();
                    //txtDuracion.Text = p.Duracion.Hour.ToString()+":"+p.Duracion.Minute.ToString();
                    //txtDuracion.Text = "0" + p.Duracion.Hour.ToString() + ":" + p.Duracion.Minute.ToString();
                    txtDuracion.Text = p.Duracion.ToString("HH:mm");
                    Panel1.GroupingText = "Modificar Sala";
                }
            }

        }

        protected void Cancelar_Click(object sender, EventArgs e)
        {
            Session["id_PeliculaEdicion"] = null;
            Response.Redirect("Peliculas.aspx");
        }

        protected void btnAceptar_Click(object sender, EventArgs e)
        {
            if (Session["id_PeliculaEdicion"] != null)
            {
                Pelicula p = new Pelicula();
                p.Id_Pelicula = (int)Session["id_PeliculaEdicion"];
                p.Nombre = txtNombre.Text;
                p.Genero = ddlGenero.SelectedIndex;
                p.Clasificacion = ddlClasificacion.SelectedValue;
                p.Director = txtDirector.Text;
                p.Interpretes = txtInterpretes.Text;
                p.Sipnosis = txtSipnosis.Text;
                p.PaisOrigen = txtPaisOrigen.Text;
                p.AñoEstreno = DateTime.Parse("01/01/"+txtAñoEstreno.Text);               
                p.Duracion = DateTime.Parse(txtDuracion.Text);
                try
                {
                    PeliculaDAO.update(p);
                    Session["id_PeliculaEdicion"] = null;
                    Response.Redirect("Peliculas.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }                
            }
            else 
            {
                Pelicula p = new Pelicula();
                p.Nombre = txtNombre.Text;
                p.Genero = ddlGenero.SelectedIndex;
                p.Clasificacion = ddlClasificacion.SelectedValue;
                p.Director = txtDirector.Text;
                p.Interpretes = txtInterpretes.Text;
                p.Sipnosis = txtSipnosis.Text;
                p.PaisOrigen = txtPaisOrigen.Text;
                p.AñoEstreno = DateTime.Parse("01/01/" + txtAñoEstreno.Text);
                p.Duracion = DateTime.Parse(txtDuracion.Text);
                try
                {
                    PeliculaDAO.insert(p);
                    Response.Redirect("Peliculas.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }               
            }
        }

        protected void btnBorrar_Click(object sender, EventArgs e)
        {
            if (Session["id_PeliculaEdicion"] != null)
            {
                int id = (int)Session["id_PeliculaEdicion"];
                try
                {
                    PeliculaDAO.darBajaPelicula(id);
                    Session["id_PeliculaEdicion"] = null;
                    Response.Redirect("Peliculas.aspx");
                }
                catch (ApplicationException ae)
                {
                    lblError.Text = ae.Message;
                }
            }
        }
               
    }
}
